﻿
Public Class Producto : Implements IEquatable(Of Producto)
    Private _Nombre As String
    Private _Precio As Decimal
    Public Property Nombre As String
        Get
            Return _Nombre
        End Get
        Set(value As String)
            If value.Length < 2 Then
                _Nombre = "Error"
            Else
                _Nombre = value
            End If
        End Set
    End Property
    Public Property Precio As Decimal
        Get
            Return _Precio
        End Get
        Set(value As Decimal)
            If value <= 0 Then
                _Precio = 0.1
            Else
                _Precio = value
            End If
        End Set
    End Property
    Public Property Descripcion As String
    Public Property Tipo As tipoproducto
    Public Enum tipoproducto
        Bebida
        Comida
        Complemento
    End Enum
    Public Sub New()

    End Sub
    Public Sub New(ByVal tipo As tipoproducto, ByVal nombre As String, ByVal Precio As Decimal, ByVal Descripcion As String, ByVal Foto As String)
        Me.Nombre = nombre
        Me.Precio = Precio
        Me.Descripcion = Descripcion
        Me.Tipo = tipo

    End Sub
    Public Function Foto() As String
        Return Nombre & ".JPG"

    End Function

    Public Overloads Function Equals(ByVal other As Producto) As Boolean Implements System.IEquatable(Of Producto).Equals
        Return other IsNot Nothing AndAlso Me.Nombre.ToLower = other.Nombre.ToLower

    End Function
End Class
